using System;
using System.Collections.Generic;
using System.Text;

namespace IHC_InspectorExpress.Modelo
{
    [Serializable]
    public class ListaUsuario
    {
        private static ListaUsuario listaUsuario;
        private List<Usuario> usuarios;

        public ListaUsuario()
        {
            usuarios = new List<Usuario>();
        }

        public static ListaUsuario getInstanciaUsuario()
        {
            if (listaUsuario == null)
                listaUsuario = new ListaUsuario();
            return listaUsuario;
        }

        public List<Usuario> Usuarios
        {
            get { return usuarios; }
            set { usuarios = value; }
        }

        public void agregarUsuario(Usuario usr)
        {
            usuarios.Add(usr);
        }

        public void removerUsuario(Usuario usr)
        {
            usuarios.Remove(usr);
        }

  

        public string[] toString()
        {
            string[] stringUsuario = new string[usuarios.Count];
            for (int i = 0; i < usuarios.Count; i++)
            {
                stringUsuario[i] = usuarios[i].NombreUsuario;
            }
            return stringUsuario;
        }

        public string[] obtenerMails()
        {
            string[] stringUsuario = new string[usuarios.Count];
            for (int i = 0; i < usuarios.Count; i++)
            {
                stringUsuario[i] = usuarios[i].EmailUsuario;
            }
            return stringUsuario;
        }

        public string[] obtenerMailPorUsuario(string nombre_usuario)
        {
            List<string> stringMail = new List<string>();
            List<string> stringMail2 = new List<string>();
            for (int i = 0; i < usuarios.Count; i++)
            {
                if (nombre_usuario.Equals(usuarios[i].NombreUsuario))
                {
                    stringMail.Add(usuarios[i].EmailUsuario);
                }

            }
            return stringMail.ToArray();
        }

        public string obtenerSexoUsuario(string nombre_usuario, string mail_usuario) {
            for (int i = 0; i < usuarios.Count; i++)
            {
                if ((nombre_usuario.Equals(usuarios[i].NombreUsuario))
                    &&(mail_usuario.Equals(usuarios[i].EmailUsuario)))
                {
                    return usuarios[i].SexoUsuario;
                }

            }
            return "indeterminado";
        }

    }
}
